package com.knowledgeqa.system.mapper;

import com.knowledgeqa.system.entity.User;
import org.apache.ibatis.annotations.Mapper;
import java.util.List;

/**
 * 用户Mapper接口
 */
@Mapper
public interface UserMapper {
    /**
     * 根据ID查询用户
     */
    User selectById(Long id);

    /**
     * 根据用户名查询用户
     */
    User selectByUsername(String username);

    /**
     * 根据手机号查询用户
     */
    User selectByPhone(String phone);

    /**
     * 根据邮箱查询用户
     */
    User selectByEmail(String email);

    /**
     * 新增用户
     */
    int insert(User user);

    /**
     * 更新用户信息
     */
    int update(User user);

    /**
     * 删除用户
     */
    int deleteById(Long id);

    /**
     * 查询所有用户（管理员功能）
     */
    List<User> selectAll();

    /**
     * 更新用户金币余额
     */
    int updateCoinBalance(Long userId, Integer amount);

    /**
     * 更新用户状态（禁言/解禁）
     */
    int updateStatus(Long userId, Integer status);
}